#ifndef _M_CONTROLCONTEXT_H__
#define _M_CONTROLCONTEXT_H__

#include "symbiandepend.h"

#ifdef __SYMBIAN32__
#include <e32base.h>
#endif

class MControlContext
{
public:
	virtual void RePaint(TBool aImmediatePaint = EFalse) = 0;
	virtual
#ifdef __SYMBIAN32__
		CBitmapContext& 
#else
		HDC
#endif
		Gc() = 0;
	virtual const TRect RectRegion() const = 0;

	virtual void GetSingleLineEditorText(TDesC& aText) const = 0;
	virtual void GetMultiLineEditorText(TDesC& aText) const = 0;
	virtual void SetSingleLineEditorText(const TDesC& aText) = 0;
	virtual void SetMultiLineEditorText(const TDesC& aText) = 0;
	virtual TBool SingleLineEditorVisible() const = 0;
	virtual TBool MultiLineEditorVisible() const = 0;
	virtual void SetSingleLineEditorVisible(TBool aValue) = 0;
	virtual void SetMultiLineEditorVisible(TBool aValue) = 0;
	virtual void GetSingleLineEditorRect(TRect& aRc) const = 0;
	virtual void GetMultiLineEditorRect(TRect& aRc) const = 0;
	virtual void SetSingleLineEditorRect(const TRect& aRc) = 0;
	virtual void SetMultiLineEditorRect(const TRect& aRc) = 0;

#ifdef WINCE
	virtual HWND Handle() = 0;
#endif
};

#endif
